test: one contract per file (satisfy rainix single-contract gate)#129
Conversation
Split test/lib/LibDescribedByMeta.emitForDescribedAddress.t.sol so each .sol file declares exactly one contract, as required by the rainix rainix-sol-single-contract gate. The TestDescribedByMetaV1 mock is moved to its own file test/lib/TestDescribedByMetaV1.sol; the primary test contract LibDescribedByMetaEmitForDescribedAddressTest stays in the original file and imports the moved mock. Pure file reorganization, no behavior change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 26 minutes and 36 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Reviewed 34d892a: approved by maintainer; re-triggered against fixed rainix main (LICENSE symlink #232) — single-contract gate + license-staging now green, mergeable. Merging. |
|
@coderabbitai assess this PR size classification for the totality of the PR with the following criterias and report it in your comment: S/M/L PR Classification Guidelines:This guide helps classify merged pull requests by effort and complexity rather than just line count. The goal is to assess the difficulty and scope of changes after they have been completed. Small (S)Characteristics:
Review Effort: Would have taken 5-10 minutes Examples:
Medium (M)Characteristics:
Review Effort: Would have taken 15-30 minutes Examples:
Large (L)Characteristics:
Review Effort: Would have taken 45+ minutes Examples:
Additional Factors to ConsiderWhen deciding between sizes, also consider:
Notes:
|
The rainix
rainix-sol-single-contractgate (added in rainlanguage/rainix#214) is failing onmainbecause a test.solfile declares more than one contract. This greensmainand unblocks #128.The gate's authoritative output flagged a single violation:
Files split
test/lib/LibDescribedByMeta.emitForDescribedAddress.t.sol(was 2 contracts) -> keeps the primary test contractLibDescribedByMetaEmitForDescribedAddressTest; theTestDescribedByMetaV1mock is moved to the new filetest/lib/TestDescribedByMetaV1.sol. The original file now imports the moved mock so all references resolve.This is a pure file reorganization: no test logic or contract code changed.
Verification (rainix sol-shell)
rainix-sol-single-contractexits 0 (no violations remain).forge buildclean.forge fmt --checkclean.forge testfor the split contract: 2 passed, 0 failed (5096 fuzz runs each). The only failures in the full suite are pre-existing and environment-gated (missing*_RPC_URLenv vars and theyqbinary), unrelated to this change.🤖 Generated with Claude Code